﻿Public Class xtf_ABMpersonal
    Dim frm_listado As Object = Nothing
    Dim ulg_row As DataRow
    Dim obj_Personal As cls_personal_ = Nothing

    Public Sub New()
        InitializeComponent()
        CargarTipoDocumento_()
        CargarCargo_()
        CargarSector_()
        Cargargerencia_()
        Cargarproveedor_()
        Cargarcentrocostoorden_()
        btn_Acceso.Visible = True
        liv_Emails.Tag = New DevExpress.XtraEditors.Controls.ListBoxItemCollection
        liv_Telefonos.Tag = New DevExpress.XtraEditors.Controls.ListBoxItemCollection
        liv_Usuarios.Tag = New DevExpress.XtraEditors.Controls.ListBoxItemCollection
        AgregarValidaciones()

        If txt_Legajo.Enabled Then
            Dim parametro As New cls_config_parametro_
            If CBool(parametro.Buscar("personalValidarLegajo").valor) Then
                lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Bold)
                NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
            Else
                lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Regular)
                NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
            End If
        Else
            lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Regular)
            NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
        End If
    End Sub

    Public Overrides Sub CargarObjetos()
        CargarTipoDocumento_()
        CargarCargo_()
        CargarSector_()
        Cargargerencia_()
        Cargarproveedor_()
        Cargarcentrocostoorden_()
    End Sub

    Private Sub CargarSector_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_Sector.EditValue

        Dim sector_ As New cls_sector_

        sector_.CargarTodos()
        cargarCombo(cbo_Sector, sector_.Items, False, True)
        cbo_Sector.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_Sector.EditValue)
    End Sub

    Private Sub Cargargerencia_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_Gerencia.EditValue

        Dim gerencia_ As New cls_gerencia_

        gerencia_.CargarTodos()
        cargarCombo(cbo_Gerencia, gerencia_.Items, False, True)
        cbo_Gerencia.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_Gerencia.EditValue)
    End Sub

    Private Sub Cargarcentrocostoorden_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_centrocostoorden.EditValue

        Dim centrocostoorden_ As New cls_centrocostoorden_

        centrocostoorden_.CargarTodos()
        cargarCombo(cbo_centrocostoorden, centrocostoorden_.Items, True, True)
        cbo_centrocostoorden.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_centrocostoorden.EditValue)
    End Sub

    Private Sub CargarCargo_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_Cargo.EditValue

        Dim cargo_ As New cls_cargo_
        cargo_.CargarTodos()
        cargarCombo(cbo_Cargo, cargo_.Items, False, True)
        cbo_Cargo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_Cargo.EditValue)
    End Sub

    Private Sub CargarTipoDocumento_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_TipoDocumento.EditValue
        Dim tipodocumento_ As New cls_tipodocumento_
        tipodocumento_.CargarTodos()
        cargarCombo(cbo_TipoDocumento, tipodocumento_.Items, False, True)
        cbo_TipoDocumento.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_TipoDocumento.EditValue)
    End Sub

    Private Sub Cargarproveedor_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_proveedor.EditValue
        Dim proveedor_ As New cls_proveedor_
        proveedor_.CargarTodos(True)
        cargarCombo(cbo_proveedor, proveedor_.Items, False, True)
        cbo_proveedor.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_proveedor.EditValue)
        cbo_proveedor.Enabled = chk_contratado.Checked
    End Sub

    Public Shadows Sub Nuevo(ByRef listado As Form)
        Try
            frm_listado = listado
            Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - Nuevo"
            obj_Personal = New cls_Personal_
            btn_Registro.Enabled = False
            btn_Acceso.Enabled = False
            dtp_FechaEgreso.DateTime = Now
            dtp_FechaIngreso.DateTime = Now
            dte_FechaNacimiento.DateTime = Now.Date
            cbo_proveedor.Enabled = False
            Me.Show()


        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Shadows Sub Modificar(ByRef Personal As cls_personal_, ByRef listado As Form, ByRef row As DataRow)
        If IsNothing(obj_Personal) Then
            obj_Personal = New cls_Personal_
        End If
        obj_Personal = Personal
        frm_listado = listado
        ulg_row = row : bbi_imprimir.Enabled = True

        Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - " & obj_Personal.ToString
        txt_ID.Text = obj_Personal.idpersonal
        txt_Legajo.Text = obj_Personal.legajo
        txt_Nombres.Text = obj_Personal.tercero.nombres
        txt_Apellido.Text = obj_Personal.tercero.apellido
        txt_Iniciales.Text = obj_Personal.iniciales
        txt_NumeroFiscal.Text = obj_Personal.tercero.numerofiscal
        txt_NumeroDocumento.Text = obj_Personal.tercero.numeroducumento
        txt_Observaciones.Text = obj_Personal.tercero.observaciones
        txt_Notas.Text = obj_Personal.tercero.notas
        dtp_FechaIngreso.DateTime = obj_Personal.fechaingreso
        dtp_FechaEgreso.DateTime = obj_Personal.fechaegreso
        txt_Horario.Text = obj_Personal.tercero.horario
        txt_NumeroInterno.Text = obj_Personal.numerointerno
        txt_valorHora.Text = obj_Personal.valorhora
        cbo_Cargo.EditValue = Personal.idcargo
        cbo_Gerencia.EditValue = Personal.idgerencia
        cbo_Sector.EditValue = Personal.idsector
        cbo_TipoDocumento.EditValue = obj_Personal.tercero.idtipodocumento
        dte_FechaNacimiento.DateTime = obj_Personal.fechanacimiento
        chk_contratado.Checked = obj_Personal.contratado
        cbo_proveedor.EditValue = obj_Personal.idproveedor
        txt_jornada.Text = obj_Personal.jornada
        txt_observacionesinterno.Text = obj_Personal.observacionesinterno
        cbo_centrocostoorden.EditValue = obj_Personal.idcentrocostoorden
        txt_cuño.Text = obj_Personal.cuño

        liv_Telefonos.Items.Clear()
        liv_Telefonos.Tag.Clear()
        If Not IsNothing(obj_Personal.tercero.telefono_) Then
            If Not IsNothing(obj_Personal.tercero.telefono_.Items) Then
                For Each telefono As cls_telefono_ In obj_Personal.tercero.telefono_.Items
                    Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
                    Dim Elemento As New CustomListItem
                    Elemento.objeto = telefono
                    Elemento.text = telefono.ToString
                    If telefono.primario Then
                        Item.ImageIndex = 0
                    End If
                    Item.Value = Elemento
                    liv_Telefonos.Items.Add(Item)
                Next
            End If
        End If

        liv_Emails.Items.Clear()
        liv_Emails.Tag.Clear()
        If Not IsNothing(obj_Personal.tercero.email_) Then
            If Not IsNothing(obj_Personal.tercero.email_.Items) Then
                For Each email As cls_email_ In obj_Personal.tercero.email_.Items
                    Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
                    Dim Elemento As New CustomListItem
                    Elemento.objeto = email
                    Elemento.text = email.ToString
                    If email.primario Then
                        Item.ImageIndex = 0
                    End If
                    Item.Value = Elemento
                    liv_Emails.Items.Add(Item)
                Next
            End If
        End If

        liv_Usuarios.Items.Clear()
        liv_Usuarios.Tag.Clear()
        If Not IsNothing(obj_Personal.tercero.usuario_) Then
            If Not IsNothing(obj_Personal.tercero.usuario_.Items) Then
                For Each usuario As cls_usuario_ In obj_Personal.tercero.usuario_.Items
                    Dim Elemento As New CustomListItem
                    Elemento.objeto = usuario
                    Elemento.text = usuario.ToString
                    liv_Usuarios.Items.Add(Elemento)
                Next
            End If
        End If


        obj_Personal.tercero.tercerosubcategoria_ = Nothing
        obj_Personal.tercero.telefonoprimario = Nothing
        obj_Personal.tercero.direccionprimario = Nothing
        obj_Personal.tercero.emailprimario = Nothing
        obj_Personal.tercero.usuario_ = Nothing
        obj_Personal.tercero.email_ = Nothing
        obj_Personal.tercero.tercerorelacion_ = Nothing
        obj_Personal.tercero.telefono_ = Nothing
        obj_Personal.tercero.direccion_ = Nothing
        obj_Personal.tercero = Nothing
        obj_Personal.cargo = Nothing
        obj_Personal.sector = Nothing
        obj_Personal.gerencia = Nothing
        btn_Registro.Enabled = True

        Me.Show()
    End Sub


    Public Overrides Function ComprobarDatos() As Boolean
        'If Not cbo_TipoProveedor.Enabled Then
        '    Return False
        'End If
        'If Not cbo_TipoDocumento.Enabled Then
        '    ErrManagerShow("001008")
        '    Return False
        'End If

        If Not ControlarValidaciones() Then
            ErrManagerShow("000004", Me)
            Return False
        End If

        'REGISTROS DUPLICADOS----------------------------------------------------
        Dim parametro As New cls_config_parametro_
        If CBool(parametro.Buscar("personalValidarLegajo").valor) Then
            If txt_Legajo.Enabled Then
                If txt_Legajo.Text = "" Then
                    ErrManagerShow("001035", Me)
                    Return False
                Else
                    Dim col As New Collections.Generic.List(Of stc_campoValor)
                    Dim comp1 As New stc_campoValor
                    comp1.campo = "legajo"
                    comp1.valor = txt_Legajo.Text
                    col.Add(comp1)
                    If ComprobarDuplicado("personal_", col, "idpersonal <> " & IIf(txt_ID.Text = "", 0, txt_ID.Text)) Then
                        ErrManagerShow("000010", Me, " Dato: Legajo")
                        Return False
                    End If
                End If
            End If
        End If
        'REGISTROS DUPLICADOS----------------------------------------------------

        'REGISTROS DUPLICADOS----------------------------------------------------
        Dim col2 As New Collections.Generic.List(Of stc_campoValor)
        Dim comp2 As New stc_campoValor
        comp2.campo = "idtipodocumento"
        comp2.valor = IIf(IsNothing(cbo_TipoDocumento.EditValue), 0, cbo_TipoDocumento.EditValue)
        col2.Add(comp2)

        Dim comp3 As New stc_campoValor
        comp3.campo = "numeroducumento"
        comp3.valor = txt_NumeroDocumento.Text
        col2.Add(comp3)

        Dim comp4 As New stc_campoValor
        comp4.campo = "tipo"
        comp4.valor = cls_tercero_.enu_tipotercero.Personal
        col2.Add(comp4)

        If IsNothing(obj_Personal.tercero) Then
            If ComprobarDuplicado("tercero_", col2, "idtercero <> " & 0) Then
                ErrManagerShow("000010", Me, " Dato: Tipo / Nro. Documento")
                Return False
            End If
        Else
            If ComprobarDuplicado("tercero_", col2, "idtercero <> " & obj_Personal.tercero.idtercero) Then
                ErrManagerShow("000010", Me, " Dato: Tipo / Nro. Documento")
                Return False
            End If
        End If

        'REGISTROS DUPLICADOS----------------------------------------------------

        If cbo_Cargo.EditValue = CInt(parametro.Buscar("cargoSoldador").valor) And txt_cuño.Text = "" Then
            ErrManagerShow("001042", Me)
            Return False
        End If

        If cbo_Cargo.EditValue = CInt(parametro.Buscar("cargoSoldador").valor) Then
            'REGISTROS DUPLICADOS----------------------------------------------------
            col2 = New Collections.Generic.List(Of stc_campoValor)
            comp2 = New stc_campoValor
            comp2.campo = "cuño"
            comp2.valor = txt_cuño.Text
            col2.Add(comp2)

            comp3 = New stc_campoValor
            comp3.campo = "idproveedor"
            comp3.valor = IIf(cbo_proveedor.EditValue = Nothing, 0, cbo_proveedor.EditValue)
            col2.Add(comp3)

            If ComprobarDuplicado("personal_", col2, "idpersonal <> " & IIf(txt_ID.Text = "", 0, txt_ID.Text)) Then
                ErrManagerShow("000010", Me, " Dato: Cuño")
                Return False
            End If
            'REGISTROS DUPLICADOS----------------------------------------------------
        End If
        

        Return True
    End Function
    Private Sub dte_FechaNacimiento_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dte_FechaNacimiento.EditValueChanged
        'txt_Edad.Text = DateDiff(DateInterval.Year, dte_FechaNacimiento.DateTime, Now)
        Dim Años As Object

        Años = DateDiff("yyyy", dte_FechaNacimiento.DateTime, Now)

        If Now.Date < DateSerial(Year(Now), Month(dte_FechaNacimiento.DateTime), dte_FechaNacimiento.DateTime.Day) Then
            Años = Años - 1
        End If
        txt_Edad.Text = CInt(Años)
    End Sub
    Public Shadows Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then


            'Guardo Cliente------------------------------------------------------
            obj_Personal.legajo = txt_Legajo.Text
            obj_Personal.iniciales = txt_Iniciales.Text
            obj_Personal.fechaingreso = dtp_FechaIngreso.DateTime
            obj_Personal.fechaegreso = dtp_FechaEgreso.DateTime
            obj_Personal.numerointerno = txt_NumeroInterno.Text
            obj_Personal.valorhora = txt_valorHora.Text
            obj_Personal.fechanacimiento = dte_FechaNacimiento.DateTime
            obj_Personal.idgerencia = cbo_Gerencia.EditValue

            obj_Personal.idsector = cbo_Sector.EditValue
            obj_Personal.idcargo = cbo_Cargo.EditValue
            obj_Personal.contratado = chk_contratado.Checked
            obj_Personal.idproveedor = cbo_proveedor.EditValue
            obj_Personal.jornada = txt_jornada.Text
            obj_Personal.observacionesinterno = txt_observacionesinterno.Text
            obj_Personal.idcentrocostoorden = cbo_centrocostoorden.EditValue
            obj_Personal.cuño = txt_cuño.Text
            '----------------------------------------------------------------------

            'Guardo Tercero--------------------------------------------------------
            If IsNothing(obj_Personal.tercero) Then
                obj_Personal.tercero = New cls_tercero_
            End If
            obj_Personal.tercero.tipo = cls_tercero_.enu_tipotercero.Personal
            obj_Personal.tercero.nombres = txt_Nombres.Text
            obj_Personal.tercero.apellido = txt_Apellido.Text
            obj_Personal.tercero.numerofiscal = txt_NumeroFiscal.Text
            obj_Personal.tercero.numeroducumento = txt_NumeroDocumento.Text
            obj_Personal.tercero.observaciones = txt_Observaciones.Text
            obj_Personal.tercero.notas = txt_Notas.Text
            obj_Personal.tercero.idtipodocumento = cbo_TipoDocumento.EditValue
            obj_Personal.tercero.horario = txt_Horario.Text
            '---------------------------------------------------------------------

            'Guardo Telefonos------------------------------------------------------
            If IsNothing(obj_Personal.tercero.telefono_) Then
                obj_Personal.tercero.telefono_ = New cls_telefono_
            End If
            If IsNothing(obj_Personal.tercero.telefono_.Items) Then
                obj_Personal.tercero.telefono_.Items = New Collections.Generic.List(Of cls_telefono_)
            End If
            obj_Personal.tercero.telefono_.Items = New Collections.Generic.List(Of cls_telefono_)
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Telefonos.Items
                obj_Personal.tercero.telefono_.Items.Add(Elemento.Value.objeto)
            Next
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Telefonos.Tag
                If CType(Elemento.Value.objeto, cls_telefono_).idtelefono <> 0 Then
                    CType(Elemento.Value.objeto, cls_telefono_).Eliminar(CType(Elemento.Value.objeto, cls_telefono_).idtelefono)
                End If
            Next
            '---------------------------------------------------------------------

            'Guardo Emails------------------------------------------------------
            If IsNothing(obj_Personal.tercero.email_) Then
                obj_Personal.tercero.email_ = New cls_email_
            End If
            If IsNothing(obj_Personal.tercero.email_.Items) Then
                obj_Personal.tercero.email_.Items = New Collections.Generic.List(Of cls_email_)
            End If
            obj_Personal.tercero.email_.Items = New Collections.Generic.List(Of cls_email_)
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Emails.Items
                obj_Personal.tercero.email_.Items.Add(Elemento.Value.objeto)
            Next
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Emails.Tag
                If CType(Elemento.Value.objeto, cls_email_).idemail <> 0 Then
                    CType(Elemento.Value.objeto, cls_email_).Eliminar(CType(Elemento.Value.objeto, cls_email_).idemail)
                End If
            Next
            '-----------------------------------------------------------------------

            'Guardo usuarios------------------------------------------------------
            If IsNothing(obj_Personal.tercero.usuario_) Then
                obj_Personal.tercero.usuario_ = New cls_usuario_
            End If
            If IsNothing(obj_Personal.tercero.usuario_.Items) Then
                obj_Personal.tercero.usuario_.Items = New Collections.Generic.List(Of cls_usuario_)
            End If
            obj_Personal.tercero.usuario_.Items = New Collections.Generic.List(Of cls_usuario_)
            For Each Elemento As CustomListItem In liv_Usuarios.Items
                obj_Personal.tercero.usuario_.Items.Add(Elemento.objeto)
            Next
            For Each Elemento As CustomListItem In liv_Usuarios.Tag
                If CType(Elemento.objeto, cls_usuario_).idusuario <> 0 Then
                    CType(Elemento.objeto, cls_usuario_).Eliminar(CType(Elemento.objeto, cls_usuario_).idusuario)
                End If
            Next
            '-----------------------------------------------------------------------


            If txt_ID.Text = "" Then
                obj_Personal.Nuevo(True)
                If frm_listado.Visible Then
                    ulg_row = CType(frm_listado, xtf_LISTADOpersonal_).AgregarItem(obj_Personal)
                End If
                Modificar(obj_Personal, frm_listado, ulg_row)
            Else
                obj_Personal.Modificar()
                If frm_listado.Visible Then
                    frm_listado.ModificarItem(obj_Personal, ulg_row)
                End If
                Modificar(obj_Personal, frm_listado, ulg_row)
            End If
            flg_Modificado = False : btn_Guardar.Enabled = False : bbi_guardar.Enabled = False
        End If

    End Sub

    Private Sub btn_Registro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Registro.Click
        If Not IsNothing(obj_Personal.tercero.registro) Then
            Dim ABMRegistro As New xtf_ABMRegistro(obj_Personal.tercero.registro)
            If ABMRegistro.ShowDialog() = Windows.Forms.DialogResult.OK Then
                flg_Modificado = True
            End If
        End If
    End Sub

    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        If flg_Modificado Then
            bol_comprobarCerrado = False
            Select Case ErrManagerShow("000001", Me)
                Case Windows.Forms.DialogResult.Yes
                    If ComprobarDatos() Then
                        btn_Guardar_Click(Nothing, Nothing)
                    Else
                        Exit Sub
                    End If
                Case Windows.Forms.DialogResult.Cancel : bol_comprobarCerrado = True
                    Exit Sub
            End Select
        End If
        Me.Dispose()
    End Sub

#Region "Emails"
    Private Sub liv_emails_ItemDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles liv_Emails.DoubleClick
        tsb_EmailsModificar.PerformClick()
    End Sub

    Private Sub tsb_EmailsNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_EmailsNuevo.Click
        Dim ABMemail As New xtf_ABMemail
        If ABMemail.ShowDialog = Windows.Forms.DialogResult.OK Then
            liv_Emails.BeginUpdate()
            Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
            Dim Elemento As New CustomListItem
            Elemento.objeto = ABMemail.obj_email
            Elemento.text = ABMemail.obj_email.ToString
            Item.ImageIndex = -1
            Item.Value = Elemento
            liv_Emails.Items.Add(Item)
            liv_Emails.EndUpdate()
        End If
    End Sub

    Private Sub tsb_EmailsModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_EmailsModificar.Click
        If liv_Emails.SelectedItems.Count > 0 Then
            Dim ABMemail As New xtf_ABMemail
            ABMemail.Modificar(CType(liv_Emails.SelectedItems(0).value, CustomListItem).objeto)
            If ABMemail.ShowDialog = Windows.Forms.DialogResult.OK Then
                liv_Emails.BeginUpdate()
                liv_Emails.SelectedItems(0).value.objeto = ABMemail.obj_email
                liv_Emails.SelectedItems(0).value.text = ABMemail.obj_email.ToString
                liv_Emails.EndUpdate()
            End If
        End If
    End Sub

    Private Sub tsb_EmailsEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_EmailsEliminar.Click
        If liv_Emails.SelectedItems.Count > 0 Then
            liv_Emails.BeginUpdate()
            Dim Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem
            Elemento = liv_Emails.SelectedItems(0)
            liv_Emails.Items.Remove(Elemento)
            liv_Emails.Tag.add(Elemento)
            liv_Emails.EndUpdate()
        End If
    End Sub

    Private Sub tsb_EmailsDefecto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_EmailsDefecto.Click
        If liv_Emails.SelectedItems.Count > 0 Then
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Emails.Items
                CType(Elemento.Value.objeto, cls_email_).primario = False
                Elemento.ImageIndex = -1
            Next
            CType(liv_Emails.SelectedItems(0).Value.objeto, cls_email_).primario = True
            liv_Emails.SelectedItems(0).ImageIndex = 0
        End If
    End Sub
#End Region

#Region "Telefonos"

    Private Sub liv_Telefonos_ItemDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles liv_Telefonos.DoubleClick
        tsb_TelefonosModificar.PerformClick()
    End Sub

    Private Sub tsb_TelefonosNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_TelefonosNuevo.Click
        Dim ABMtelefono As New xtf_ABMtelefono
        If ABMtelefono.ShowDialog = Windows.Forms.DialogResult.OK Then
            liv_Telefonos.BeginUpdate()
            Dim Elemento As New CustomListItem
            Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
            Elemento.objeto = ABMtelefono.obj_telefono
            Elemento.text = ABMtelefono.obj_telefono.ToString
            Item.ImageIndex = -1
            Item.Value = Elemento
            liv_Telefonos.Items.Add(Item)
            liv_Telefonos.EndUpdate()
        End If
    End Sub

    Private Sub tsb_TelefonosModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_TelefonosModificar.Click
        If liv_Telefonos.SelectedItems.Count > 0 Then
            Dim ABMtelefono As New xtf_ABMtelefono
            ABMtelefono.Modificar(liv_Telefonos.SelectedItems(0).value.objeto)
            If ABMtelefono.ShowDialog = Windows.Forms.DialogResult.OK Then
                liv_Telefonos.BeginUpdate()
                liv_Telefonos.SelectedItems(0).value.objeto = ABMtelefono.obj_telefono
                liv_Telefonos.SelectedItems(0).value.text = ABMtelefono.obj_telefono.ToString
                liv_Telefonos.EndUpdate()
            End If
        End If
    End Sub


    Private Sub tsb_TelefonosEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_TelefonosEliminar.Click
        If liv_Telefonos.SelectedItems.Count > 0 Then
            liv_Telefonos.BeginUpdate()
            Dim Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem
            Elemento = liv_Telefonos.SelectedItems(0)
            liv_Telefonos.Items.Remove(Elemento)
            liv_Telefonos.Tag.add(Elemento)
            liv_Telefonos.EndUpdate()
        End If
    End Sub

    Private Sub tsb_TelefonosDefecto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_TelefonosDefecto.Click
        If liv_Telefonos.SelectedItems.Count > 0 Then
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_Telefonos.Items
                CType(Elemento.Value.objeto, cls_telefono_).primario = False
                Elemento.ImageIndex = -1
            Next
            CType(liv_Telefonos.SelectedItems(0).Value.objeto, cls_telefono_).primario = True
            liv_Telefonos.SelectedItems(0).ImageIndex = 0
        End If
    End Sub
#End Region

#Region "Usuario"
    Private Sub liv_usuario_ItemDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles liv_Usuarios.DoubleClick
        tsb_UsuarioModificar.PerformClick()
    End Sub

    Private Sub tsb_UsuarioNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_UsuarioNuevo.Click
        If liv_Usuarios.SelectedItems.Count = 0 Then
            Dim ABMusuario As New xtf_ABMusuario2
            If ABMusuario.ShowDialog = Windows.Forms.DialogResult.OK Then
                liv_Usuarios.BeginUpdate()
                Dim Elemento As New CustomListItem
                Elemento.objeto = ABMusuario.obj_usuario
                Elemento.text = ABMusuario.obj_usuario.ToString
                liv_Usuarios.Items.Clear()
                liv_Usuarios.Items.Add(Elemento)
                liv_Usuarios.EndUpdate()
            End If
        Else
            liv_Usuarios.SelectedIndex = 0
            tsb_UsuarioModificar_Click(Nothing, Nothing)
        End If
    End Sub

    Private Sub tsb_UsuarioModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_UsuarioModificar.Click
        If liv_Usuarios.SelectedItems.Count > 0 Then
            Dim ABMusuario As New xtf_ABMusuario2
            ABMusuario.Modificar(liv_Usuarios.SelectedItems(0).objeto)
            If ABMusuario.ShowDialog = Windows.Forms.DialogResult.OK Then
                liv_Usuarios.BeginUpdate()
                liv_Usuarios.SelectedItems(0).objeto = ABMusuario.obj_usuario
                liv_Usuarios.SelectedItems(0).text = ABMusuario.obj_usuario.ToString
                liv_Usuarios.EndUpdate()
            End If
        End If
    End Sub

    Private Sub tsb_UsuarioEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_UsuarioEliminar.Click
        If liv_Usuarios.SelectedItems.Count > 0 Then
            liv_Usuarios.BeginUpdate()
            Dim Elemento As CustomListItem
            Elemento = liv_Usuarios.SelectedItems(0)
            liv_Usuarios.Items.Remove(Elemento)
            liv_Usuarios.Tag.add(Elemento)
            liv_Usuarios.EndUpdate()
        End If
    End Sub
#End Region

    Private Sub btn_Acceso_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Acceso.Click
        If ComprobarPermiso("004001006") Then
            Dim obj_ABMconfig_acceso As New xtf_ABMconfig_acceso(obj_Personal.idtercero)
            obj_ABMconfig_acceso.ShowDialog()
        End If
    End Sub

    Private Sub chk_contratado_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chk_contratado.CheckedChanged
        cbo_proveedor.Enabled = chk_contratado.Checked
        txt_Legajo.Enabled = Not chk_contratado.Checked
        txt_Legajo.Text = ""
        If txt_Legajo.Enabled Then
            Dim parametro As New cls_config_parametro_
            If CBool(parametro.Buscar("personalValidarLegajo").valor) Then
                lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Bold)
                NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
            Else
                lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Regular)
                NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
            End If
        Else
            lbl_Legajo.AppearanceItemCaption.Font = New Font(lbl_Legajo.AppearanceItemCaption.Font, FontStyle.Regular)
            NoVal_Legajo1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
        End If
    End Sub

    Private Sub cbo_TipoDocumento_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_TipoDocumento.EditValueChanged

    End Sub

    Private Sub cbo_Cargo_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_Cargo.EditValueChanged

    End Sub
End Class